<?php
    include(dirname(__FILE__)."/../../../Dao/db.php");
	include_once("../domain_url.php");
    ///キーワードプランニング
    function addAllKeywords($keywords)
    {
        session_start();
        $memberId=$_SESSION['memberId'];
        $listingType = $_POST['search_media_select'];
        //$domain="http://listing.s268.xrea.com/listing/tracking/redirect.php?key_Id=";
		$domain=DOMAIN_URL."?key_Id=";
        //媒体名を取得
        $query = "SELECT name FROM listingmst WHERE ";
        $query .= "id=$listingType";
        $result = mysql_query($query);
        $row=mysql_fetch_array($result);
        $listingName = $row['name'];

        //フォーマットは不正の場合、エラーメッセージが出す
        $keywordArray=checkFormat_keyword($keywords);
        if(!is_array($keywordArray))
        {
            return $keywordArray;
        }
        else
        {
            $duplicate = $_POST['keyword_duplicate'];
            foreach($keywordArray as $keyword)
            {
                $campaignName = $keyword[0];
                $adGroupName = $keyword[1];
                $keywordText = $keyword[2];
                if($keyword[3] == "部分一致")
                {
                    $type = 2;
                }
                else
                {
                    $type =1;
                }
                $maxCpc = $keyword[4];
                $destinationUrl = $keyword[5];
                if(strcasecmp($keyword[6],"on") == 0)
                {
                    $paused = 0;
                }
                else
                {
                    $paused = 1;
                }

                //該当行のキャンペーンIDを取得
                $query  = "SELECT * FROM campaign WHERE ";
                $query .= "memberId=$memberId AND ";
                $query .= "listingType=$listingType AND ";
                $query .= "name='$campaignName' AND ";
                //未削除されたキャンペーン
                $query .= "status!=9";
                $result = mysql_query($query);
                if($row=mysql_fetch_array($result))
                {
                    $camp_Id = $row['camp_Id'];
                }
                //キャンペーンは存在しない場合、エラーメッセージが出す
                else
                {
                    $message .= "キャンペーン[$campaignName]は存在しません。\\r\\n";
                    continue;
                }

                //広告グループIDを取得
                $query = "SELECT adGr_Id FROM adgroup WHERE ";
                $query .= "memberId=$memberId AND ";
                $query .= "listingType=$listingType AND ";
                $query .= "camp_Id=$camp_Id AND ";
                $query .= "name='$adGroupName' AND ";
                $query .= "status!=9";
                $result = mysql_query($query);
                if($row = mysql_fetch_array($result))
                {
                    $adGr_Id = $row['adGr_Id'];
                }
                else
                {
                    $message .= "広告グループ[$adGroupName]は存在しません。\\r\\n";
                    continue;
                }

                //同一媒体内では許可しない
                if($duplicate == 0)
                {
                    $query = "SELECT * FROM keyword WHERE ";
                    $query .= "memberId=$memberId AND ";
                    $query .= "listingType=$listingType AND ";
                    $query .= "text='$keywordText' AND ";
                    $query .= "status!=9";

                    $result = mysql_query($query);
                    if($row=mysql_fetch_array($result))
                    {
                        $message .= "媒体[$listingName]に同じキーワード[$keywordText]がある。\\r\\n";
                        continue;
                    }
                }
                //同一キャンペーン内では許可しない
                else if($duplicate == 1)
                {
                    $query = "SELECT * FROM keyword WHERE ";
                    $query .= "memberId=$memberId AND ";
                    $query .= "listingType=$listingType AND ";
                    $query .= "camp_Id=$camp_Id AND ";
                    $query .= "text='$keywordText' AND ";
                    $query .= "status!=9";

                    $result = mysql_query($query);
                    if($row=mysql_fetch_array($result))
                    {
                        $message .= "キャンペーン[$campaignName]に同じキーワード[$keywordText]がある。\\r\\n";
                        continue;
                    }
                }
                //同一広告グループ内では許可いさい
                else
                {
                    $query = "SELECT * FROM keyword WHERE ";
                    $query .= "memberId=$memberId AND ";
                    $query .= "listingType=$listingType AND ";
                    $query .= "camp_Id=$camp_Id AND ";
                    $query .= "adGr_Id=$adGr_Id AND ";
                    $query .= "text='$keywordText' AND ";
                    $query .= "status!=9";

                    $result = mysql_query($query);
                    if($row=mysql_fetch_array($result))
                    {
                        $message .= "広告グループ[$adGroupName]に同じキーワード[$keywordText]がある。\\r\\n";
                        continue;
                    }
                }

                //データベースに挿入
                $now = date("Y-m-d H:i:s");
                $query = "INSERT INTO keyword (memberId,listingType,camp_Id,adGr_Id,text,type,";
                if(isset($maxCpc) && $maxCpc != "")
                {
                    $query .= "maxCpc,";
                }
                $query .= "destinationUrl,paused,sync,registDate,lastUpdate) VALUES(";
                $query .= "$memberId,";
                $query .= "$listingType,";
                $query .= "$camp_Id,";
                $query .= "$adGr_Id,";
                $query .= "'$keywordText',";
                $query .= "$type,";
                if(isset($maxCpc) && $maxCpc != "")
                {
                    $query .= "$maxCpc,";
                }
                $query .= "'$destinationUrl',";
                $query .= "$paused,";
                //Googleに未同期
                $query .= "2,'$now','$now')";
                $result = mysql_query($query);

                if ($result != "1")
                {
                    $message .= "キーワード[$keywordText]登録失敗しました。\\r\\n";
                }
                else
                {
                    $query = "update keyword set redirectUrl=CONCAT('$domain',key_Id) ";
                    $query .= "where adGr_Id=$adGr_Id and lastUpdate='$now'";
                    mysql_query($query);
                    $message .= "キーワード[$keywordText]登録しました。\\r\\n";
                }
            }
        }
        return $message;
    }

    //入力チェック
    function checkFormat_keyword($keywords)
    {
        $keywordArray = array();

        for($i=0;$i<count($keywords);$i++)
        {
            $line = rtrim($keywords[$i]);
            $info = split(",",mb_convert_encoding($line, "UTF-8", "SJIS"));
            if(count($info) != 7)
            {
                $message = "[$i]行目の格式は不正です。カラム数は違います。";
                break;
            }
            else
            {
                //キャンペーン名チェック
                if(strlen($info[0]) == 0)
                {
                    $message = "[$i]行目のキャンペーン名は不正です。";
                    break;
                }

                //広告グループ名
                if(strlen($info[1]) == 0)
                {
                    $message = "[$i]行目の広告グループ名は不正です";
                    break;
                }

                //キーワード
                if(strlen($info[2]) == 0)
                {
                    $message = "[$i]行目のキーワードテキストは不正です";
                    break;
                }

                //マッチタイプ
                if($info[3] != "部分一致" && $info[3] != "全部一致")
                {
                    $message = "[$i]行目のマッチタイプは不正です。「部分一致」あるいは「全部一致」でご入力してください。";
                    break;
                }

                //単価
                if($info[4] != "" && preg_match("/^[^0-9]{1,}$/",$info[4]))
                {
                    $message = "[$i]行目の単価は半角数字を入力してください。";
                    break;
                }

                //ランディング先URL

                //ステータス
                if(strcasecmp($info[6],"On") != 0 && strcasecmp($info[6],"off") != 0)
                {
                    $message = "[$i]行目のステータスはon/offを入力してください。";
                    break;
                }

                array_push($keywordArray,$info);
            }
        }

        //格式は不正の場合、エラーメッセージを戻る
        if(isset($message))
        {
            return $message;
        }
        else
        {
            return $keywordArray;
        }
    }

?>
